D()입력을 expression obj으로 해야함
f<-expression(5*x^2+10*x+5)
D(f, "x")
DD<-function(expr, name, order=1){
if(order<1)stop("'order'must be more than 1")
if(order==1)D(expr, name)
else DD(D(expr, name), name, order-1)
}
5 * (2 * x) + 10
deriv()~을 이용해서 expression obj이 아닌 수식 적용 가능
D와 달리 계산값을 반환해(객체를 함수로 만들어 준다.)
g<-deriv(~exp(-x^2), "x", func=T)
g(2)
[1] 0.01831564
attr(,"gradient")
x
[1,] -0.07326256
f<-expression(exp(-x^2))
g1<-deriv(f, "x", func=T)
g1(2)
[1] 0.01831564
attr(,"gradient")
x
[1,] -0.07326256
integrate()인수로 function()으로 생성된 함수를 받음
f<-function(x){
return (2*x-x^2)
}
integrate(f, 0, 3)
1.665335e-16 with absolute error < 3e-14